home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 22 / Amiga Format AFCD22 (Jan 1998, Issue 106).iso / -seriously_amiga- / shareware / workbench / -dopus- / empdopus / source / dragd2d.rexx < prev    next >
OS/2 REXX Batch file  |  1997-11-05  |  2KB  |  95 lines

  1. /*$VER: DragD2D.rexx 1.1 (18.10.97) B00ze
  2.  * God even basic Diskmaster functionality is a pain to add to Dopus.
  3.  * For questions or comments email Booze@Videotron.CA
  4.  *
  5.  * USAGE: REXX: DragD2D.rexx {Qp} {Qd} {Qa}
  6.  *
  7.  * PROGRAM HISTORY
  8.  *
  9.  *  v1.0 -Initial idea and code.
  10.  *
  11.  *  v1.1 -Improved signal traps.
  12.  *     -ReEnabled the signal traps in case something goes wrong,
  13.  *      BreakC especially should never be left out...
  14.  *
  15.  */
  16.  
  17. PN='DragD2D.rexx'
  18. SH=0;WIN=0;LF='0A'x /* These are globals needed by almost every function I use! */
  19.  
  20. Options results
  21. Signal ON SYNTAX
  22. Signal ON BREAK_C
  23. Signal ON FAILURE
  24.  
  25. PARSE ARG P DH A
  26.  
  27. /* MAIN */
  28.  
  29.  A=Strip(A)
  30.  If A="" Then Exit 10 /* No directoryname to read */
  31.  
  32.  Address VALUE P
  33.  
  34.  If DH=0 Then Do
  35.     DL.=0
  36.    'Lister Query Dest Stem DL.'
  37.     If DL.count=0 Then Exit 10 /* No Destination Lister To Work With! */
  38.     DH=DL.0
  39.  End
  40.  
  41. 'Lister Set' DH 'Busy 0'
  42. 'Lister Read' DH '"'A'"'
  43.  
  44.  Exit 0
  45.  
  46.       /*-----------------------------------------------------------
  47.                                ERROR HANDLERS
  48.       -----------------------------------------------------------*/
  49.  
  50. BREAK_C:
  51.  
  52.    Address VALUE P
  53.    If SH~=0 Then Do
  54.      'Lister Set' SH 'Busy 0'
  55.      'Lister Set' SH 'Title'
  56.      'Lister Refresh' SH 'FULL'
  57.       RCMD='Lister Request 'SH
  58.       End
  59.    Else RCMD='Dopus Request'
  60.   'Command Flash'
  61.    RCMD' "+++ Break! +++" OK'
  62.    /* Call Close('F') */
  63.    Exit 0
  64.  
  65. SYNTAX:
  66.  
  67.    RCX=RC
  68.    Address VALUE P
  69.    If SH~=0 Then Do
  70.      'Lister Set' SH 'Busy 0'
  71.      'Lister Set' SH 'Title'
  72.      'Lister Refresh' SH 'FULL'
  73.       RCMD='Lister Request 'SH
  74.       End
  75.    Else RCMD='Dopus Request'
  76.   'Command Flash'
  77.    RCMD' "+++ Syntax Error +++'LF'('RCX') at line 'SIGL||LF||errortext(RCX)'" OK'
  78.    /* Call Close('F') */
  79.    Exit 20
  80.  
  81. FAILURE:
  82.  
  83.    Address VALUE P
  84.    If SH~=0 Then Do
  85.      'Lister Set' SH 'Busy 0'
  86.      'Lister Set' SH 'Title'
  87.      'Lister Refresh' SH 'FULL'
  88.       RCMD='Lister Request 'SH
  89.       End
  90.    Else RCMD='Dopus Request'
  91.   'Command Flash'
  92.    RCMD' "+++ Failure +++'LF'Something failed at line 'SIGL'" OK'
  93.    /* Call Close('F') */
  94.    Exit 20
  95.